package DAO;

import java.util.List;
import java.util.Set;

import Modelo.Produto;
import anotacoes.RecuperaConjunto;
import anotacoes.RecuperaLista;
import anotacoes.RecuperaObjeto;
import excecao.ObjetoNaoEncontradoException;

public interface ProdutoDAO extends DaoGenerico<Produto, Long>
{   
	@RecuperaObjeto
	Produto recuperaUmProdutoEItens(long numero) 
		throws ObjetoNaoEncontradoException;

	@RecuperaLista
	List<Produto> recuperaListaDeProdutos();
	
	@RecuperaConjunto
	Set<Produto> recuperaConjuntoDeProdutosEItens();
	
	@RecuperaLista
	List<Produto> recuperaListaDeProdutosEItens();
	
	@RecuperaObjeto
	Produto	recuperaUmProdutoEFornecedores(long numero)
		throws ObjetoNaoEncontradoException;
	
	@RecuperaLista
	List<Produto> recuperaListaDeProdutosEFornecedores();
}

